1
การเปลี่ยนแปลงเชิงกลยุทธ์: ทำไมการย้ายโปรแกรมทีละขั้นจึงสำคัญ
AI024Lesson 9
00:00

การเปลี่ยนจากระบบนิเวศที่ถูกผูกมัดกับผู้ผลิตไปสู่ HIP (อินเทอร์เฟซการประมวลผลแบบไม่เฉพาะเจาะจงเพื่อความยืดหยุ่น) เป็นการก้าวไปสู่ความเป็นอิสระจากฮาร์ดแวร์ แทนที่จะเขียนใหม่ทั้งหมด เราเลือกใช้แนวทาง วิธีการย้ายทีละขั้น—การย้ายอย่างเป็นระบบ โดยให้ความสำคัญกับการตรวจสอบอย่างต่อเนื่อง เพื่อหลีกเลี่ยง 'กับดักบิ๊กแบง' ที่ทำให้การแก้ไขข้อผิดพลาดกลายเป็นไปไม่ได้

1. เครื่องมือช่วยงาน

HIP ให้บริการ API สำหรับการทำงานในขณะรันของภาษา C++ และภาษาสำหรับเคอร์เนล รองรับทั้งสถาปัตยกรรมของ AMD และ NVIDIA Hipify (ผ่านทาง perl หรือ clang) ทำหน้าที่เป็นสะพาน เชื่อมโยงการแปลงโค้ดแหล่งที่มาของ CUDA เป็นโค้ด C++ ที่ใช้งานได้ทั่วไปบน HIP

2. กระบวนการย้าย 6 ขั้นตอน

6. ปรับแต่งสถาปัตยกรรม5. วิเคราะห์ความถูกต้อง4. รันการทดสอบใหม่3. แก้ไขข้อผิดพลาดจากการคอมไพล์2. รันเครื่องมือไฮพิฟาย1. โค้ด CUDA ที่มั่นคง

3. ความเป็นจริง กับ การอัตโนมัติ

แม้ว่า HIP จะทำให้การย้าย เป็นไปได้จริงแต่ก็ยังไม่ใช่ อัตโนมัติ ในด้านประสิทธิภาพ ความเทียบเท่าทางฟังก์ชัน (โค้ดที่ทำงานได้) คือเป้าหมายแรก ขณะที่ความเท่าเทียมด้านประสิทธิภาพ (โค้ดที่ปรับให้เหมาะสมกับเป้าหมาย) คือเป้าหมายสุดท้าย

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>